Озвучить план лекции. Четыре блока: архитектура подсистемы, управление устройствами, методы ввода-вывода и безопасность. Идём от общего к частному.
Подсистема В/В — одна из ключевых в ОС. Привести пример: даже нажатие клавиши запускает сложную цепочку операций. Без В/В компьютер оторван от внешнего мира.
Четыре уровня: ядро → драйверы → контроллеры → устройства. Аналогия с этажами здания: каждый опирается на нижний и абстрагирует его.
Чётко разделить «железо» и «софт». Аппаратная часть — шины PCI/USB, контроллеры, порты. Программная — драйверы, API, подсистемы памяти и прерываний.
Драйвер — «переводчик» между ОС и устройством. Пример: разные принтеры понимают разные команды, а ОС работает с ними одинаково благодаря драйверам.
Три компонента драйвера: инициализация, обработчики прерываний, функции управления. Акцент — на обработчиках прерываний, это наиболее критичная часть.
Уровни абстракции позволяют менять аппаратуру без переработки ОС. Аналогия: API — розетка, драйвер — переходник, устройство — вилка.
Переходим ко второму разделу. При загрузке ОС автоматически обнаруживает устройства и загружает драйверы — это Plug-and-Play.
Ресурсы ограничены, и устройства конкурируют за них. Исторически конфликты IRQ были серьёзной проблемой. Plug-and-Play решил большинство из них автоматически.
Прерывания — основной механизм взаимодействия устройств с ЦП. Устройство «стучится» к процессору, когда ему нужно внимание. Эффективная обработка критична для отзывчивости системы.
Буферизация решает проблему разницы скоростей. Пример: жёсткий диск медленнее ЦП в миллионы раз. Три вида буферов — от простого к более эффективному.
Третий раздел — ядро лекции. Три метода В/В от простого к сложному. Начнём с самого простого — программируемого ввода-вывода.
Переход от опроса к прерываниям — существенный шаг вперёд. ЦП больше не «крутит колёса» в цикле, а получает уведомление, когда устройство готово.
DMA — «золотой стандарт» для высокоскоростных устройств. Пример: при копировании файла с диска DMA передаёт данные, а ЦП свободен для других задач.
Сводная таблица трёх методов. Акцент: выбор метода — всегда компромисс между производительностью, загрузкой ЦП и сложностью реализации.
На практике в одной системе используются все три метода. Клавиатура — PIO, мышь — прерывания, диски и сеть — DMA. Современные ОС комбинируют подходы.
Четвёртый раздел — безопасность. Устройства — потенциальный вектор атаки. Принцип наименьших привилегий — основа защиты: минимум прав, необходимый для работы.
Разные роли — разные права. Пример: обычный пользователь читает CD-ROM, но не может напрямую писать на диск. ACLs и файловые права — основные механизмы.
Философия Unix: всё есть файл, даже устройства. Примеры /dev/sda, /dev/null. Права доступа через chmod/chown — привычный и мощный механизм.
Комплексная защита: шифрование при передаче, контроль целостности, изоляция процессов. IOMMU — аппаратная защита от несанкционированного доступа через DMA.
Устройства тоже нужно аутентифицировать, особенно сетевые. IEEE 802.1X и цифровые сертификаты для драйверов — основные механизмы доверия.
Драйверы — самое слабое звено: работают в режиме ядра, ошибки критичны. Пример: BlueBorne — атака через Bluetooth-драйвер, затронувшая миллионы устройств.
DMA-атаки — прямая угроза при физическом доступе. Через FireWire или Thunderbolt можно прочитать всю оперативную память. IOMMU — основное контрмерное средство.
Подвести итог лекции. Четыре ключевых блока: архитектура с уровнями абстракции, управление устройствами, три метода В/В и комплексная безопасность.
Две колонки с главными тезисами. Акцент: DMA — лучший метод для высокоскоростных устройств, а безопасность В/В требует многоуровневого подхода.
Вопросы для самопроверки. Рекомендовать студентам ответить на каждый, а при затруднениях — перечитать соответствующий раздел лекции.
Рекомендованная литература. Таненбаум — основной учебник, Руссинович — для глубокого изучения Windows, документация ядра Linux — первоисточник.